/* 
  path 模块用于对路径和文件进行处理

  在不同的操作系统上可能有不同的路径分隔符

*/

// 常用api
const path = require('path')
const filePath = '/foo/bar/baz/asdf/quux'
// path.dirname(path) : 返回文件的目录名
// console.log(path.dirname(filePath)); // /foo/bar/baz/asdf
// path.basename(path) : 返回文件名
// console.log(path.basename(filePath)); // quux
// path.extname(path) : 返回文件的后缀名
// console.log(path.extname(filePath)); // ''



const basePath = './内置模块.txt'
const filename = './abc.txt'
// path.join([...paths]) 路径拼接
console.log(path.join(basePath,filename));
/* 

path.resolve([...path]) 

resolve 会去拼接的路径字符串中查找 以 ./ 或 / 或 ../开头的路径
  从右往左开始解析,直到解析出绝对路径
  ../ 相当于上一级,会跳过上一级路径的最后一个路径
  ./  与什么都没有一样 ,代表当前路径
  /   代表根目录,会停止解析,直接拼接成绝对路径
*/

console.log(path.resolve(basePath,filename));


// path.parse(path) 路径解析,dir,base,name等等
// path.format(pathObject) 与parse 反操作